#include "mycoin.h"
#include<QDebug>
//myCoin::myCoin(QWidget *parent) :
//    QPushButton(parent)
//{
//}
     myCoin::myCoin(QString btnImg)
{
    QPixmap pix;
    bool ret=pix.load(btnImg);
    if(!ret)
    {
        QString str=QString("图片 %1 加载失败").arg(btnImg);
        qDebug()<<str;
    }
    this->setFixedSize(60,60);
    this->setStyleSheet("QPushButton{border:0px;}");
    this->setIcon(pix);
    this->setIconSize(QSize(pix.width(),pix.height()));//setIconSize()这个函数设置的图标大小最大为图片本身

    //初始化定时器对象
    timer1=new QTimer(this);
    timer2=new QTimer(this);
    //监听正面翻反面信号 ，并反转金币
    connect(timer1,&QTimer::timeout,[=](){
       QPixmap pix;
       QString str= QString(":/res/Coin000%1").arg(this->min++);
       pix.load(str);
       this->setFixedSize(60,60);
       this->setStyleSheet("QPushButton{border:0px;}");
       this->setIcon(pix);
       this->setIconSize(QSize(pix.width(),pix.height()));
       //判断 如果翻完了，将min重置为1
       if(this->min>this->max)
       {
           this->min=1;
           timer1->stop();
           isAnimation=false;
       }
    });
    //监听反面翻正面信号 ，并反转金币
    connect(timer2,&QTimer::timeout,[=](){
       QPixmap pix;
       QString str= QString(":/res/Coin000%1").arg(this->max--);
       pix.load(str);
       this->setFixedSize(60,60);
       this->setStyleSheet("QPushButton{border:0px;}");
       this->setIcon(pix);
       this->setIconSize(QSize(pix.width(),pix.height()));
       //判断 如果翻完了，将min重置为1
       if(this->min>this->max)
       {
           this->max=8;
           timer2->stop();
           isAnimation=false; //停止做动画
       }
    });
}
//改变标志的方法
void myCoin::changeFlag()
{
    //正面翻反面
    if(flag)
    {
        //金币翻银币定时器启动
        timer1->start(30);
        this->flag=false;
        isAnimation=true; //开始做动画

    }
    //反面翻正面
    else
    {
        timer2->start(30);
        this->flag=true;
        isAnimation=true;
    }

}
void myCoin::mousePressEvent(QMouseEvent *e)
{
    if(this->isAnimation||this->winFlag)
    {
        return;
    }
    return QPushButton::mousePressEvent(e);
}
